﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BL;
using System.Data;


namespace UI.Secretaria
{
    public partial class frmGeneraCodigo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                lblMensaje.Text = "";

                btnGenerar.Enabled = false;
                llenaCombo();


            }
        }



        void llenaCombo()
        {

            PreMatricula_BL obj = new PreMatricula_BL();
            DataTable dato = new DataTable();

            dato = obj.Data_PreMatricula_SemestreGeneraCodigo();


            if (dato.Rows.Count > 0)
            {

                ddlSemestre.DataSource = dato;
                ddlSemestre.DataTextField = "semestre";
                ddlSemestre.DataValueField = "semestre";
                ddlSemestre.DataBind();

                ddlSemestre.Items.Insert(0, "--Selecciones--");
            }

            else

            {

                lblMensaje.Text = "No existe códigos de ingresantes para generar.";
                ddlSemestre.Items.Insert(0, "--Selecciones--");
            }

           


        }

        protected void ddlSemestre_SelectedIndexChanged(object sender, EventArgs e)
        {

            btnGenerar.Enabled = true;

            llenaGrillla();

                     



        }

        void llenaGrillla()
        {

            PreMatricula_BL obj = new PreMatricula_BL();
            DataTable dato = new DataTable();
            dato = obj.Data_PreMatricula_ListaPorSemestre_Ingresantes(ddlSemestre.SelectedValue);
            grvGrilla.DataSource = dato;
            grvGrilla.DataBind();
        }

        protected void btnGenerar_Click(object sender, EventArgs e)

            /*
             1.- Genera codigo masivo de los ingresantes data prematricula con el flag ingreso =1
             2.- Migra los ingresantes a la tabla data Maestro1 y dataMaesAdic
             */
        {
            PreMatricula_BL obj = new PreMatricula_BL();

            try
            {
                // se genera codigo y se inserta en la tabla.
                obj.data_PreMatricula_GeneraCodigo(DateTime.Now.Year, ddlSemestre.SelectedValue);
               

                // Inserta registros en la Tabla data_Maestro1 y dataMaesAdic ingresantes con flag 1

             //   obj.DATA_PREMATRICULA_Migra_data_Maestro(ddlSemestre.SelectedValue);


                lblMensaje.Text = "Migración y Generación de código realizados correctamente";
                

                llenaGrillla();
                

            }
            catch (Exception ex)
            {

                lblMensaje.Text = "Ocurrio el siguiente error al Grabar: " + ex.Message.ToString();
            }




        }
    }
}